Amazon SageMaker Unified Studio の構成や仕組みをまとめてみた #AWSreInvent
こんにちは、森田です。
re:Invent 2024 で Amazon SageMaker の次世代サービスとして Amazon SageMaker Unified Studio が発表されました。
本記事では、Amazon SageMaker Unified Studio について構成や仕組みについて解説していきます。
Unified Studio とは
機械学習(ML)開発のための統合開発環境です。
上図でも記載されているようにデータ分析から前処理、モデルの開発までオールインワンで行えます。
Unified Studioを支える仕組みとして、「Lakehouse」と「Data and AI Governance」があります。
SageMaker Lakehouse
データに素早く・簡単にアクセスするための機能です。
上記を実現するために、以下の機能を提供します。
- Amazon S3 データレイクと Amazon Redshift データウェアハウス全体のすべてのデータを統合
- Apache Iceberg でのデータアクセス
- Zero-ETL、フェデレーテッドクエリを使ったDB統合
Amazon SageMaker Data and AI Governance
データを安全にアクセスするための機能です。
上記を実現するために、以下の機能を提供します。
- SageMaker Catalog
- 生成AIで作成されたメタデータによるセマンティック検索を使用して、承認されたデータとモデルを安全に発見してアクセス
- ガバナンス機能
- ドメインユニット
- 許可ポリシー
- プロジェクトプロファイル
従来の Amazon SageMaker との違い
従来の Amazon SageMaker(Amazon SageMaker AI)でも機械学習(ML)の開発環境を提供しています。
大きな違いとしては、他のAWSサービスとシームレスな統合がある点です。
特に、Amazon Bedrock やデータ分析(Redshiftなど)との統合は、Amazon SageMaker AI では利用できませんでした。
Amazon Bedrock IDE
例えば、Unified Studioでは、Amazon Bedrock の開発環境として Amazon Bedrock IDE が提供されていますが、SageMaker AI では提供されていません。
AWS 環境から見た Unified Studio
Unified Studioの内部では、様々なAWSリソースが使用されています。
また、各リソースの作成には、CloudFormationが使用されています。
Unified Studio の構成
ドメインとユーザ
Unified Studio は、ドメインと呼ばれるリソース単位で扱います。
このドメインに利用するユーザを割り当てます。
Blueprint
ドメインには、Blueprint と呼ばれるユースケースに応じたAWSリソースを定義したテンプレートです。
この Blueprint を事前に有効化しておかなければ、ドメイン内でAWSリソースを扱うことができません。
Blueprint name | Description |
---|---|
AmazonBedrockGenerativeAI | これは7つのサブAmazon Bedrockブループリントを含む統合Amazon Bedrockブループリントです。エージェント、ナレッジベース、ガードレール、フロー、関数、モデル評価などのツールを使用して生成AIアプリケーションを構築することができます。 |
DataLake | AWS Glueデータベースによるデータ管理とAmazon Athenaワークグループによるデータクエリのためのデータレイク環境を作成する再利用可能なAWS CloudFormationテンプレートを提供します。 |
EMRonEC2 | Apache Spark、Hive、その他のビッグデータワークロードを実行およびスケーリングするためのAmazon EMR on EC2クラスターを作成する再利用可能なAWS CloudFormationテンプレートを提供します。 |
EMRServerless | Apache Sparkバッチジョブとインタラクティブセッションを提供するためのAmazon EMR Serverlessアプリケーションを作成する再利用可能なAWS CloudFormationテンプレートを提供します。 |
LakehouseCatalog | Amazon Redshift Managed Storageによってバックアップされた、Amazon SageMaker Lakehouseに新しいカタログをプロビジョニングします。 |
MLExperiments | プロジェクト内の実験のためのMLflowトラッキングサーバーを有効にするオンデマンドブループリントを提供します。 |
PartnerApps | Partner AI Appsへのアクセスを可能にするIAMロールと接続を作成します。Partner AI Appsを通じて、AI/ML開発のための統合された完全管理型のサードパーティソリューションを活用できます。 |
RedshiftServerless | インフラストラクチャを管理することなくデータからインサイトを得るための、Amazon Redshift Serverless環境を作成する再利用可能なAWS CloudFormationテンプレートを提供します。 |
Tooling | IAMユーザーロール、セキュリティグループ、Amazon SageMakerプラットフォームドメインなど、プロジェクトのリソースを作成します。 |
Workflows | Airflowベースのワークフロー用のMWAA環境を作成するためのAWS CloudFormationテンプレートを提供します。 |
https://docs.aws.amazon.com/ja_jp/sagemaker-unified-studio/latest/userguide/concepts.html
例えば、「Bedrockでエージェントを作成したい」場合は、AmazonBedrockGenerativeAIを有効化します。
プロジェクト
ドメインに割り当てられたユーザは、さらにプロジェクトに割り当てて各AWSリソースを利用します。
プロジェクトでは、実施するスコープに応じて分けることでユーザ・グループ・AWSリソースでの柔軟なアクセス設定が可能となります。
プロジェクト作成
プロジェクトを作成するためには、プロジェクトの設定テンプレートである「プロジェクトプロファイル」が必要となります。
「プロジェクトプロファイル」をユーザに割り当てて、各ユーザでプロジェクトの作成が可能となります。
プロジェクトを作成すると、CloudFormation で AWS リソースがデプロイされます。
Unified Studio の料金
Unified Studio のコアな機能(プロジェクト管理、ユーザー管理、ポリシー付与の管理)は無料で利用できます。
一方で、Unified Studio で他のAWSサービス(Amazon SageMaker Catalogなど)を利用する場合には、その料金が発生します。
詳細は以下をご参照ください。
さいごに
Unified Studio の構成や仕組みについてご紹介しました。
これだけ読んだだけでは、何となくわかったレベルかと思いますので、あとはぜひ実際に Unified Studio を触って理解を深めてみてください。